/*
Copyright (c) 2010 Andreas Bjerkeholt
License: MIT
http://www.opensource.org/licenses/mit-license.php
*/
#ifndef __list_h__
#define __list_h__

typedef struct {
	void*  data;
	void*  next;
} listNode;

typedef struct {
	uint16_t count;
	void*    first;
} list;

void listInsertLast(list* list, void* data);
bool listDelete(list* list, void* element);
void listDeleteAll(list* list);
void listDeleteFirst(list* list);
void* listGetFirst(list* list);

#endif
